LinuC-1 - 101試験 - 1.04:リポジトリとパッケージ管理 - 1.04.1 apt コマンドによるパッケージ管理

Last Update : August 21 2022 17:47:20

     

a. Debianパッケージ管理(その1)

1.パッケージ管理とは

パッケージとは、ソフトウエアのプログラム本体やライブラリ、マニュアル、設定情報などをまとめた1つのファイルです。Linux OSでは、ソフトウエアをパッケージ単位で管理することが多く、このシステムを「パッケージ管理システム」と呼びます。

パッケージの依存関係

パッケージが別のパッケージなしでは動かない場合、このような関係をパッケージの依存関係と呼びます。

パッケージの競合関係

パッケージが別のパッケージと依存関係がある場合で、また、別のパッケージもその同じパッケージと依存関係がある場合、このような関係をパッケージの競合関係と呼びます。

リポジトリ 】(repository)

ファイルやデータを蓄積している場所や、それらの情報を管理するデータベースのことを意味します。


2.apt コマンド

aptコマンドは、Debian系のディストリビューションに使われているパッケージ管理用のコマンドです。

● apt コマンド構文
  apt [オプション] [ファイル名・パッケージ名]

● apt コマンド オプション
 listパッケージ一覧を表示する
 search キーワードパッケージの説明文からキーワードを検索して該当するパッケージを表示する
 show指定したパッケージの情報を表示する
 install指定したパッケージをインストールする
 remove指定したパッケージを削除する

3.apt-getコマンド

apt-get コマンドはパッケージのインストールやアップデートなど、 パッケージ管理を行うためのコマンドです。

apt-getコマンドは、パッケージをダウンロード・インストールする時のパッケージのダウンロード元の情報を/etc/apt/sources.listから得ます。ダウンロード元の情報を追加・修正するには、/etc/apt/sources.list を修正します。
/etc/apt/sources.listの各行の冒頭が deb と deb-src からなる行があります。これらは、アーカイブの種類を示しています。つまり、通常使うコンパイル済のパッケージであるバイナリ パッケージ は deb の行です。それから、オリジナルのプログラムソースと Debian のコントロールファイル (.dsc) 、およびプログラムを 'Debian 化' するのに必要な変更点を含んだ diff.gz からなるソースパッケージが deb-src 行です。

● /etc/apt/sources.list の記述例
# Debian/Squeeze is the stable base for this installation deb http://ftp.jp.debian.org/debian stable main contrib non-free deb-src http://ftp.jp.debian.org/debian stable main contrib non-free deb http://security.debian.org stable/updates main contrib non-free # testing/unstable/experimental contain newer versions, but # packages from there are not being installed by default, unless # they came from there in the first place. deb http://ftp.jp.debian.org/debian testing main contrib non-free deb-src http://ftp.jp.debian.org/debian testing main contrib non-free deb http://security.debian.org testing/updates main contrib non-free deb http://ftp.jp.debian.org/debian unstable main contrib non-free deb http://ftp.jp.debian.org/debian experimental main contrib non-free ・ ・ 省略

編集後はソースリストのアップデート(更新)を行います。

# apt-get update

● apt-get コマンドのオプション
 update パッケージリストを取得・更新する
 upgrade インストール済みのパッケージをアップグレードする
 install 新規にパッケージをインストールする
 remove インストールされたパッケージを削除する
 source ソースパッケージを取得する
 build-dep ソースパッケージのビルド依存情報を設定する
 dist-upgrade ディストリビューションをアップグレードする
 clean ダウンロードしたアーカイブファイルを削除する
 autoclean アーカイブファイルの中で古いものを削除する
 check 壊れた依存関係がないかをチェックする

● パッケージに含まれるファイル名からパッケージを検索。

(auto-aptを使用します。auto-aptを始めて利用する場合は、以下の手順を実行してください。updateが終ったら、使用できるようになります。)

# apt-get install auto-apt

# auto-apt update

# auto-apt search package-2.1.1-10.i386.rpm

(1)インストール
● パッケージをインストールする
# apt-get install package

● パッケージを再インストールする。
# apt-get --reinstall install package

● testingのパッケージをインストールする
# apt-get install package/testing

● unstableのパッケージをインストールする
# apt-get install package/unstable

(2)削除
● パッケージの削除 (設定ファイルは残ります、依存関係にあるパッケージは削除します)
# apt-get remove package

● パッケージを削除する(設定ファイルも削除、依存関係にあるパッケージも削除します)
# apt-get --purge remove package

● パッケージの強制削除
# apt-get --purge --force-yes remove package

● その他 souces.list にある内容を反映(パッケージ情報を更新)
# apt-get update

● 取得したパッケージアーカイブで利用していないものを削除(/var/cache/apt/archives)
# apt-get autoclean

● 取得したパッケージアーカイブを全て削除(/var/cache/apt/archives)
# apt-get clean


4.apt-cacheコマンド

apt-cache コマンドはパッケージ情報を照会・検索することのできるコマンドです。照会・検索するパッケージはインストールされてなくてもかまいません。

● apt-cache コマンドのオプション
 add パッケージファイルをソースキャッシュに追加する
 gencaches パッケージ/ソースキャッシュを生成する
 showpkg 単一パッケージの一般情報を表示する
 showsrc ソースレコードを表示する
 stats 基本ステータス情報を表示する
 dump すべてのファイルを表示する
 dumpavail 存在するファイルを標準出力に出力する
 unmet 未解決の依存を表示する
 search 正規表現によってパッケージを検索する
 show パッケージの情報を表示する
 depends 指定パッケージが依存しているパッケージを表示する
 rdepends 指定パッケージに依存しているパッケージを表示する
 pkgnames すべてのパッケージ名を表示する
 dotty GraphVis用のパッケージグラフを生成する
 xvcg xvcg用のパッケージグラフを生成する
 policy ポリシー設定情報を表示する

(1)問い合わせ
● インストールされたパッケージの情報を取得(表示されるわけではありません。情報収集)
# apt-cache gencaches

● パッケージの情報を表示します。(既にパッケージがインストールされており、なおかつ新しいバージョンが利用可能な場合、新しいバージョンの情報を上に表示します。)
# apt-cache show package

● パッケージの詳細情報を表示します。
# apt-cache showpkg package

● パッケージの依存情報を表示
# apt-cache depends package

● キーワードを指定しパッケージを検索、依存するパッケージも表示。*Keyword=ftpとか
# apt-cache search [キーワード]


5. apt-file コマンド

apt-file コマンドは、ファイルがどのパッケージ(debファイル)に収録されているかを検索するコマンドです。インストールされていないパッケージも対象になります。
apt-fileコマンドは、デフォルトではインストールされないので、apt-fileがインストールされていない場合は「sudo apt install apt-file」(または「sudo apt-get install apt-file」)として、インストールします。

● apt-file コマンド
  apt-file [オプション] コマンド [オプション]

● apt-file コマンドのオプション
 search(またはfind) パターンで指定した名前のファイルが含まれているパッケージを一覧表示する
 list(またはshow) パターンで指定したパッケージに収録されているファイルを一覧表示する
 purge キャッシュを削除する
 update パッケージリストを/etc/apt/sources.listに従い再取得する

● apt-file オプション(検索指定)
 -F
 --fixed-string
パターン全体と一致するものだけを対象にする
 -i
 --ignore-case
大文字小文字を区別しない
 -x
 --regexp
パターンを正規表現として解釈する
 -f
 --from-file
パターンをファイルから読み込む
 -D
 --from-deb
パターンにdebファイル名を指定する(例えば「apt-file -D list sample.deb」では、sample.debに収録されているファイルが一覧表示される)

● apt-file オプション
 -a 種類
 --architecture 種類
アーキテクチャ(amd64、i386など)を指定する
 -c 場所
 --cache 場所
キャッシュディレクトリの場所を指定する
 -d 場所
 --cdrom-mount 場所
CD-ROMのマウントポイントを指定する
 -s ファイル
 --sources-list ファイル
sources.listを指定する(通常は/etc/apt/sources.list)
 -N
 --non-interactive
ユーザーからの入力を待たずに実行する
 -y
 --dummy
ダミーモードで動作する(何も行わない)
 -l
 --package-only
パッケージ名だけを表示する
 -v
 --verbose
動作内容を表示しながら実行する

● apt-file用のデータベースを更新する
$ apt-file update

● 名前がパターンと完全に一致するファイルを収録しているパッケージを表示する
# apt-file -F search apache


6. aptitude コマンド

aptitude コマンドは、パッケージの検索からダウンロード、インストール、アンインストールなどを行なえ、パッケージの依存関係も管理することができます。

● aptitude コマンド
  aptitude [オプション]

● aptitude コマンドのオプション
 update パッケージ一覧情報の更新をします。パッケージの更新は行いません。
 show パッケージ名 パッケージの詳細情報を表示します。
 install パッケージ名 パッケージをインストールします。
 search 検索キーワード 検索キーワードにヒットしたパッケージの一覧を表示します。
 remove パッケージ名 パッケージを設定ファイルを残したまま削除します。
 purge パッケージ名 パッケージを設定ファイルも含めて削除します。
 download パッケージ名 パッケージの.debファイル(ソースファイル)をダウンロードします。ダウンロードするだけでインストールはしません。
 upgrade インストールされている全てのパッケージを更新します。
 reinstall パッケージ名 パッケージを再インストールします。

● パッケージをインストールする
# aptitude install apache2

● パッケージを設定ファイルも含めて削除する
# aptitude purge apache2

● パッケージのリストを最新版に更新します。
# aptitude update


6.alien コマンド

rpmパッケージなどをDebian用のdebパッケージにするためには、alien コマンドを使用します。

● alien コマンド
  alien [コンバート形式] [オプション] ファイル名...

● alien コマンドのオプション
 -i 作成したパッケージをインストールする
 -g デフォルトである/var/lib/alien以下からバッチを探すが、別のディレクトリからバッチを探す場合に指定する
 -patch デフォルトの/var/lib/alien以外のディレクトリからバッチを探す場合に指定する
 -no-patch バッチを利用しない
 --description tgzからの変換にパッケージの要約を追加する

● RPMパッケージからDebianパッケージに変換してインストールする
# alien --to-deb -i s1-3.03-2.i386.rpm

● RPMパッケージからDebianパッケージに変換する
# alien --to-deb s1-3.03-2.i386.rpm

● DebianパッケージからRPMパッケージに変換する
# alien --to-rpm s1-3.03-2.i386.rpm


z. 出題範囲概要

概要 :
  • apt コマンドでリポジトリを利用したパッケージ管理ができる。

詳細 :
  • 特定のパッケージをインストール、アップデート、アンインストールができる。
    apt, apt-get, apt-cache, apt-file
  • パッケージがインストールされているか否かにかかわらず、特定のファイルまたはライブラリを含むパッケージを見つけることができる。
  • バージョン、内容物、依存関係、パッケージの整合性、インストール状態などのパッケージ情報を取得できる。(パッケージがインストールされているか否かにかかわらず)
    /etc/apt/sources.list

  [ 例題 ] 


         

    www.it-shikaku.jp